﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace UI
{
    public class RouteConfig
    {
        /// <summary>
        /// 注册路由规则
        /// </summary>
        /// <param name="routes"></param>
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");//忽略一般处理程序HttpHandler
            routes.IgnoreRoute("Content/{*pathInfo}");//忽略资源目录
            routes.IgnoreRoute("Html/{*pathInfo}");//忽略静态html文件目录
            routes.IgnoreRoute("{*allico}", new { allico = @".*\.ico(/.*)?" }); // 忽略对路径中包含 .ico 的 URL 路由(忽略了因为没有/favicon.ico控制器而报错)
            routes.IgnoreRoute("{*allgif}", new { allgif = @".*\.gif(/.*)?" }); // 忽略对路径中包含 .gif 的 URL 路由
            routes.IgnoreRoute("{*alljpg}", new { alljpg = @".*\.jpg(/.*)?" }); // 忽略对路径中包含 .jpg 的 URL 路由
            routes.IgnoreRoute("{*allbmp}", new { allbmp = @".*\.bmp(/.*)?" }); // 忽略对路径中包含 .jpg 的 URL 路由
            routes.IgnoreRoute("{*alljpeg}", new { alljpeg = @".*\.jpeg(/.*)?" }); // 忽略对路径中包含 .jpg 的 URL 路由
            routes.IgnoreRoute("{*allpng}", new { allpng = @".*\.png(/.*)?" }); // 忽略对路径中包含 .png 的 URL 路由
            routes.RouteExistingFiles = true;

            /*路由匹配的顺序是从上到下的*/
            //系统默认路由
            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Login", action = "Index", id = UrlParameter.Optional },
                namespaces: new string[] { "Controllers.Controllers" }//指定寻找的命名空间
            );
        }
    }
}